0168. Excel 表列名称【简单】
1. 📝 题目描述
给你一个整数 columnNumber,返回它在 Excel 表中相对应的列名称。
例如:
txt
A -> 1
B -> 2
C -> 3
...
Z -> 26
AA -> 27
AB -> 28
...1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
示例 1:
txt
输入:columnNumber = 1
输出:"A"1
2
2
示例 2:
txt
输入:columnNumber = 28
输出:"AB"1
2
2
示例 3:
txt
输入:columnNumber = 701
输出:"ZY"1
2
2
示例 4:
txt
输入:columnNumber = 2147483647
输出:"FXSHRXW"1
2
2
提示:
1 <= columnNumber <= 2^31 - 1
2. 🎯 s.1 - 暴力解法
js
/**
* @param {number} columnNumber
* @return {string}
*/
var convertToTitle = function (columnNumber) {
let result = ''
while (columnNumber > 0) {
// 因为是从 1 开始而不是 0,所以需要减 1
columnNumber--
// 获取当前位对应的字符
result = String.fromCharCode((columnNumber % 26) + 65) + result
// 更新数字
columnNumber = Math.floor(columnNumber / 26)
}
return result
}1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- 时间复杂度:
,其中 N 是给定的列号,因为每次循环都将数字除以 26 - 空间复杂度:
,除了结果字符串外,只使用了常数级别的额外空间